#include <math.h>
#include "ParserLibClass.h"
#include <string>
//extern




unsigned long long int getC(const unsigned long long int n, const unsigned long long int m);
unsigned long long int getC1(const unsigned long long int n, const unsigned long long int m);
unsigned long long int getA(const unsigned long long int n, const unsigned long long int m);
unsigned long long int getA1(const unsigned long long int n, const unsigned long long int m);
unsigned long long int semifact(unsigned long long int n,unsigned long long int m);
unsigned long long int fact(unsigned long long int n);
double Bernulli(const long long int n, const long long int k, const double p0);
double polinomFormula(const long long int k, const long long int * m, const double * p);
double Puasson(const double a, const long long int k);
double localLaplas(const long long int n, const long long int m, const double p0);
double integralLaplas(const long long int n, const long long int k1, const long long int k2, const double p0);
void hyperGeometricalDistribution(const long long int N, const long long int M, const long long int n, double * p);
void geometricalDistribution(const long long int n, double * p, const double p0);
void binomialDistribution(const long long int n, double * p, const double p0);
double mathematicalExpectation_discrete(const long long int n, const double * p, const double * value);
double mathematicalExpectation_continuous(const char * func, const double a, const double b);
double dispersion_discrete(const long long int n, const double * p, const double * value);
double dispersion_continuous(const char * func, const double a, const double b);
double deviation_discrete(const long long int n, const double * p, const double * value);
double deviation_continuous(const char * func, const double a, const double b);